
from selenium.webdriver.common.by import By
from utils.page_base import PageBase

class PageLogin(PageBase):
    def __init__(self,driver):
        PageBase.__init__(self,driver)

    #元素特征
    loc_my=By.XPATH,["text,我的,1","resource-id,com.jym.mall:id/indicator_tab_tv,1","class,android.widget.TextView,1"]
    loc_LoginOrReg=By.ID,"com.jym.mall:id/user_account"
    loc_uc=By.ID,"com.jym.mall:id/btn_login_uc"
    loc_zanhao=By.ID,"com.jym.mall:id/login_input"
    loc_pwd=By.ID,"com.jym.mall:id/login_input"
    loc_xieyi=By.ID,"com.jym.mall:id/cb_agreement"
    loc_login=By.ID,"com.jym.mall:id/login_normal"


    #各种业务函数的实现
    # 步骤1：定位元素“我的”，并点击
    def click_my(self):
        self.click(loc=PageLogin.loc_my)

    # 步骤2：定位元素“登录/注册”,并点击
    def click_loginOrReg(self):
        self.click(loc=PageLogin.loc_LoginOrReg)

    # 步骤3：定位元素“uc”，并点击
    def click_uc(self):
        self.click(loc=PageLogin.loc_uc)

    # 步骤4：定位元素“账号输入框”，并输入账号
    def input_zanhao(self,zanhao):
        self.input_text(loc=PageLogin.loc_zanhao,text=zanhao)

    # 步骤5：定位元素“密码输入框”，并输入密码
    def input_pwd(self,pwd):
        self.find_elements(loc=PageLogin.loc_pwd)[1].send_keys(pwd)


    # 步骤6：定位元素“协议”单选按钮，并点击
    def click_xieyi(self):
        self.click(loc=PageLogin.loc_xieyi)

    # 步骤7：定位元素“登录按钮”，并点击
    def click_login(self):
        self.click(loc=PageLogin.loc_login)

    #各种断言辅助函数的实现
    #断言辅助函数：判断元素“登录按钮”的"clickable"属性的值是否等于"false"
    def assert_002(self):
        ele_login=self.find_element(loc=PageLogin.loc_login)
        attr_clickable=ele_login.get_attribute("clickable");
        return attr_clickable=="false"